home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / mips-sgi-irix6.2 / add-little-package.sh.z / add-little-package.sh
Encoding:
Linux/UNIX/POSIX Shell Script  |  1998-05-21  |  2.5 KB  |  81 lines

  1. #! /bin/sh
  2. # add-little-package.sh --- Add single file package to Package Lisp Hierarchy
  3. # Copyright (C) 1997 Free Software Foundation, Inc.
  4.  
  5. # Author:    SL Baur <steve@altair.xemacs.org>
  6. # Maintainer:    SL Baur <steve@altair.xemacs.org>
  7. # Keywords:    packages internal
  8.  
  9. # This file is part of XEmacs.
  10.  
  11. # XEmacs is free software; you can redistribute it and/or modify it
  12. # under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2, or (at your option)
  14. # any later version.
  15.  
  16. # XEmacs is distributed in the hope that it will be useful, but
  17. # WITHOUT ANY WARRANTY; without even the implied warranty of
  18. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  19. # General Public License for more details.
  20.  
  21. # You should have received a copy of the GNU General Public License
  22. # along with XEmacs; see the file COPYING.  If not, write to
  23. # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  24. # Boston, MA 02111-1307, USA.
  25.  
  26. ### Commentary:
  27.  
  28. ## This file copies a single lisp file into an XEmacs package hierarchy and
  29. ## performs the necessary magic so that it will be autoloaded at the next
  30. ## dump.
  31.  
  32. ## Parameters:
  33. ##    $1 -- Full path to an XEmacsen later than 20.3
  34. ##    $2 -- Full path to a lisp file to install
  35. ##    $3 -- Full path to a lisp directory in an XEmacs package hierarchy
  36. ##          This directory will be created if it does not exist.
  37. ##          NOTE: the directory name should *not* end in a trailing slash
  38.  
  39.  
  40. ### Code:
  41.  
  42. XEMACS=$1
  43. LISP_FILE=$2
  44. DEST_DIR=$3
  45.  
  46. # Test for valid XEmacs executable and valid input file
  47. if [ \( ! -f ${LISP_FILE} \) -o \( ! -x ${XEMACS} \) ]; then
  48.     exit 1
  49. fi
  50.  
  51. # Test for destination directory, creating if necessary
  52. if [ ! -d ${DEST_DIR} ]; then
  53.     mkdir ${DEST_DIR}
  54. fi
  55.  
  56. cp ${LISP_FILE} ${DEST_DIR}
  57. ${XEMACS} -batch -q -no-site-file -f batch-byte-compile \
  58.         ${DEST_DIR}/`basename ${LISP_FILE}`
  59.  
  60. # recompute autoloads ...
  61. ${XEMACS} -batch -q -no-site-file -l autoload \
  62.         -f batch-update-directory ${DEST_DIR}
  63. # and bytecompile if one was created
  64. if [ -f ${DEST_DIR}/auto-autoloads.el ]; then
  65.     ${XEMACS} -batch -q -no-site-file -f batch-byte-compile \
  66.         ${DEST_DIR}/auto-autoloads.el
  67. fi
  68.  
  69. # recompute custom-loads
  70. ${XEMACS} -batch -q -no-site-file -l cus-dep \
  71.         -f Custom-make-dependencies ${DEST_DIR}
  72. # and bytecompile if one was created
  73. if [ -f ${DEST_DIR}/custom-load.el ]; then
  74.     ${XEMACS} -batch -q -no-site-file -f batch-byte-compile \
  75.         ${DEST_DIR}/custom-load.el
  76. fi
  77.  
  78. exit 0
  79.  
  80. ### add-little-package.sh ends here
  81.